﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace UA.Framework.Authorization
{
    /// <summary>
    /// 表示应用程序身份验证服务的参数设置信息。
    /// </summary>
    public class AuthorizeSettings
    {
        private List<string> ignoresUrl;
        private List<string> ignoresExt;

        public AuthorizeSettings() { }

        /// <summary>
        /// 获取一个包含 0 个或多个 string 字符串对象的列表集合，每个 string 字符串都表示一个 URL 地址。
        /// 该集合表示应用程序中哪些页面可以不需要经过身份验证而能够直接进行访问。
        /// </summary>
        public List<string> IgnoresUrl
        {
            get
            {
                if (this.ignoresUrl == null)
                {
                    this.ignoresUrl = new List<string>();
                }
                return this.ignoresUrl;
            }
        }

        /// <summary>
        /// 获取一个包含 0 个或多个 string 字符串对象的列表集合，每个 string 字符串都表示一个 URL 地址的文件扩展名。
        /// 该集合表示应用程序中哪些扩展名的页面可以不需要经过身份验证而能够直接进行访问。
        /// </summary>
        public List<string> IgnoresExt
        {
            get
            {
                if (this.ignoresExt == null)
                {
                    this.ignoresExt = new List<string>();
                }
                return this.ignoresExt;
            }
        }

        /// <summary>
        /// 获取应用程序登录页面的 URL。
        /// </summary>
        public string LoginUrl
        {
            get;
            protected internal set;
        }
    }
}
